home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 12.5 KB | 320 lines | [TEXT/MPS ] |
- (*
- File: FileTransfers.mod
-
- Contains: CommToolbox File Transfer Manager Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE FileTransfers;
-
- IMPORT SYSTEM, Types, Memory, Quickdraw, Events, Dialogs, Files,
- StandardFile, Connections, Terminals;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- (* current file transfer manager version *)
- curFTVersion* = 2;
- (* FTErr *)
- ftGenericError* = -1;
- ftNoErr* = 0;
- ftRejected* = 1;
- ftFailed* = 2;
- ftTimeOut* = 3;
- ftTooManyRetry* = 4;
- ftNotEnoughDSpace* = 5;
- ftRemoteCancel* = 6;
- ftWrongFormat* = 7;
- ftNoTools* = 8;
- ftUserCancel* = 9;
- ftNotSupported* = 10;
-
-
- TYPE
- FTErr* = Types.OSErr;
-
-
- CONST
- ftIsFTMode* = ASH(1,0);
- ftNoMenus* = ASH(1,1);
- ftQuiet* = ASH(1,2);
- ftConfigChanged* = ASH(1,4);
- ftSucc* = ASH(1,7);
-
-
- TYPE
- FTFlags* = LONGINT;
-
-
- CONST
- ftSameCircuit* = ASH(1,0);
- ftSendDisable* = ASH(1,1);
- ftReceiveDisable* = ASH(1,2);
- ftTextOnly* = ASH(1,3);
- ftNoStdFile* = ASH(1,4);
- ftMultipleFileSend* = ASH(1,5);
-
-
- TYPE
- FTAttributes* = INTEGER;
-
-
- CONST
- ftReceiving* = 0;
- ftTransmitting* = 1;
-
-
- TYPE
- FTDirection* = INTEGER;
-
- (* application routines type definitions *)
- FTPtr* = POINTER TO FTRecord;
- FTHandle* = HANDLE TO FTRecord (*ΔΔ POINTER TO FTPtr*);
-
- FileTransferDefProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (hTerm: Terminals.TermHandle; msg: INTEGER; p1: LONGINT; p2: LONGINT; p3: LONGINT): LONGINT;
- FileTransferReadProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (VAR count: LONGINT; pData: Types.Ptr; refCon: LONGINT; fileMsg: INTEGER): Types.OSErr;
- FileTransferWriteProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (VAR count: LONGINT; pData: Types.Ptr; refCon: LONGINT; fileMsg: INTEGER): Types.OSErr;
- FileTransferSendProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (thePtr: Types.Ptr; theSize: LONGINT; refCon: LONGINT; channel: Connections.CMChannel; flag: Connections.CMFlags): Memory.Size;
- FileTransferReceiveProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (thePtr: Types.Ptr; theSize: LONGINT; refCon: LONGINT; channel: Connections.CMChannel; VAR flag: Connections.CMFlags): Memory.Size;
- FileTransferEnvironsProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (refCon: LONGINT; VAR theEnvirons: Connections.ConnEnvironRec): Types.OSErr;
- FileTransferNotificationProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (hFT: FTHandle; pFSSpec: Files.FSSpecPtr);
- FileTransferChooseIdleProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE ;
- FileTransferDefUPP* = Types.UniversalProcPtr;
- FileTransferReadUPP* = Types.UniversalProcPtr;
- FileTransferWriteUPP* = Types.UniversalProcPtr;
- FileTransferSendUPP* = Types.UniversalProcPtr;
- FileTransferReceiveUPP* = Types.UniversalProcPtr;
- FileTransferEnvironsUPP* = Types.UniversalProcPtr;
- FileTransferNotificationUPP* = Types.UniversalProcPtr;
- FileTransferChooseIdleUPP* = Types.UniversalProcPtr;
-
- FTRecord* = (*ΔΔPACKEDΔΔ*) RECORD
- procID*: INTEGER;
- flags*: FTFlags;
- errCode*: FTErr;
- refCon*: LONGINT;
- userData*: LONGINT;
- defProc*: FileTransferDefUPP;
- config*: Types.Ptr;
- oldConfig*: Types.Ptr;
- environsProc*: FileTransferEnvironsUPP;
- reserved1*: LONGINT;
- reserved2*: LONGINT;
- ftPrivate*: Types.Ptr;
- sendProc*: FileTransferSendUPP;
- recvProc*: FileTransferReceiveUPP;
- writeProc*: FileTransferWriteUPP;
- readProc*: FileTransferReadUPP;
- owner*: Quickdraw.WindowPtr;
- direction*: FTDirection;
- theReply*: StandardFile.SFReply;
- writePtr*: LONGINT;
- readPtr*: LONGINT;
- theBuf*: SYSTEM.PTR (*ΔΔ POINTER TO CHAR*);
- bufSize*: LONGINT;
- autoRec*: Types.Str255;
- attributes*: FTAttributes;
- END;
-
-
- CONST
- (* FTReadProc messages *)
- ftReadOpenFile* = 0; (* count* = forkFlags, buffer* = pblock from PBGetFInfo *)
- ftReadDataFork* = 1;
- ftReadRsrcFork* = 2;
- ftReadAbort* = 3;
- ftReadComplete* = 4;
- ftReadSetFPos* = 6; (* count* = forkFlags, buffer* = pBlock same as PBSetFPos *)
- ftReadGetFPos* = 7; (* count* = forkFlags, buffer* = pBlock same as PBGetFPos *)
- (* FTWriteProc messages *)
- ftWriteOpenFile* = 0; (* count* = forkFlags, buffer* = pblock from PBGetFInfo *)
- ftWriteDataFork* = 1;
- ftWriteRsrcFork* = 2;
- ftWriteAbort* = 3;
- ftWriteComplete* = 4;
- ftWriteFileInfo* = 5;
- ftWriteSetFPos* = 6; (* count* = forkFlags, buffer* = pBlock same as PBSetFPos *)
- ftWriteGetFPos* = 7; (* count* = forkFlags, buffer* = pBlock same as PBGetFPos *)
- (* fork flags *)
- ftOpenDataFork* = 1;
- ftOpenRsrcFork* = 2;
-
- uppFileTransferDefProcInfo* = $0000FEF0; (* PROCEDURE (4 byte param, 2 byte param, 4 byte param, 4 byte param, 4 byte param): 4 byte result; *)
- uppFileTransferReadProcInfo* = $00002FE0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 2 byte param): 2 byte result; *)
- uppFileTransferWriteProcInfo* = $00002FE0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 2 byte param): 2 byte result; *)
- uppFileTransferSendProcInfo* = $0000AFF0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 2 byte param, 2 byte param): 4 byte result; *)
- uppFileTransferReceiveProcInfo* = $0000EFF0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 2 byte param, 4 byte param): 4 byte result; *)
- uppFileTransferEnvironsProcInfo* = $000003E0; (* PROCEDURE (4 byte param, 4 byte param): 2 byte result; *)
- uppFileTransferNotificationProcInfo* = $000003C0; (* PROCEDURE (4 byte param, 4 byte param); *)
- uppFileTransferChooseIdleProcInfo* = $00000000; (* PROCEDURE ; *)
-
- PROCEDURE NewFileTransferDefProc*(userRoutine: FileTransferDefProcPtr): FileTransferDefUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferReadProc*(userRoutine: FileTransferReadProcPtr): FileTransferReadUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferWriteProc*(userRoutine: FileTransferWriteProcPtr): FileTransferWriteUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferSendProc*(userRoutine: FileTransferSendProcPtr): FileTransferSendUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferReceiveProc*(userRoutine: FileTransferReceiveProcPtr): FileTransferReceiveUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferEnvironsProc*(userRoutine: FileTransferEnvironsProcPtr): FileTransferEnvironsUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferNotificationProc*(userRoutine: FileTransferNotificationProcPtr): FileTransferNotificationUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileTransferChooseIdleProc*(userRoutine: FileTransferChooseIdleProcPtr): FileTransferChooseIdleUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallFileTransferDefProc*(hTerm: Terminals.TermHandle; msg: INTEGER; p1: LONGINT; p2: LONGINT; p3: LONGINT; userRoutine: FileTransferDefUPP): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferReadProc*(VAR count: LONGINT; pData: Types.Ptr; refCon: LONGINT; fileMsg: INTEGER; userRoutine: FileTransferReadUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferWriteProc*(VAR count: LONGINT; pData: Types.Ptr; refCon: LONGINT; fileMsg: INTEGER; userRoutine: FileTransferWriteUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferSendProc*(thePtr: Types.Ptr; theSize: LONGINT; refCon: LONGINT; channel: Connections.CMChannel; flag: Connections.CMFlags; userRoutine: FileTransferSendUPP): Memory.Size;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferReceiveProc*(thePtr: Types.Ptr; theSize: LONGINT; refCon: LONGINT; channel: Connections.CMChannel; VAR flag: Connections.CMFlags; userRoutine: FileTransferReceiveUPP): Memory.Size;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferEnvironsProc*(refCon: LONGINT; VAR theEnvirons: Connections.ConnEnvironRec; userRoutine: FileTransferEnvironsUPP): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferNotificationProc*(hFT: FTHandle; pFSSpec: Files.FSSpecPtr; userRoutine: FileTransferNotificationUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileTransferChooseIdleProc*(userRoutine: FileTransferChooseIdleUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE InitFT*(): FTErr;
- EXTERNAL PASCAL;
- PROCEDURE FTGetVersion*(hFT: FTHandle): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE FTGetFTVersion*(): INTEGER;
- EXTERNAL PASCAL;
- PROCEDURE FTNew*(procID: INTEGER; flags: FTFlags; sendProc: FileTransferSendUPP; recvProc: FileTransferReceiveUPP; readProc: FileTransferReadUPP; writeProc: FileTransferWriteUPP; environsProc: FileTransferEnvironsUPP; owner: Quickdraw.WindowPtr; refCon: LONGINT; userData: LONGINT): FTHandle;
- EXTERNAL PASCAL;
- PROCEDURE FTDispose*(hFT: FTHandle);
- EXTERNAL PASCAL;
- PROCEDURE FTStart*(hFT: FTHandle; direction: FTDirection; (*CONST*)VAR fileInfo: StandardFile.SFReply): FTErr;
- EXTERNAL PASCAL;
- PROCEDURE FTAbort*(hFT: FTHandle): FTErr;
- EXTERNAL PASCAL;
- PROCEDURE FTSend*(hFT: FTHandle; numFiles: INTEGER; pFSSpec: Files.FSSpecArrayPtr; notifyProc: FileTransferNotificationUPP): FTErr;
- EXTERNAL PASCAL;
- PROCEDURE FTReceive*(hFT: FTHandle; pFSSpec: Files.FSSpecPtr; notifyProc: FileTransferNotificationUPP): FTErr;
- EXTERNAL PASCAL;
- PROCEDURE FTExec*(hFT: FTHandle);
- EXTERNAL PASCAL;
- PROCEDURE FTActivate*(hFT: FTHandle; activate: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE FTResume*(hFT: FTHandle; resume: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE FTMenu*(hFT: FTHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
- EXTERNAL PASCAL;
- PROCEDURE FTChoose*(VAR hFT: FTHandle; where: Types.Point; idleProc: FileTransferChooseIdleUPP): INTEGER;
- EXTERNAL PASCAL;
- PROCEDURE FTEvent*(hFT: FTHandle; (*CONST*)VAR theEvent: Events.EventRecord);
- EXTERNAL PASCAL;
- PROCEDURE FTValidate*(hFT: FTHandle): BOOLEAN;
- EXTERNAL PASCAL;
- PROCEDURE FTDefault*(VAR theConfig: Types.Ptr; procID: INTEGER; allocate: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE FTSetupPreflight*(procID: INTEGER; VAR magicCookie: LONGINT): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE FTSetupSetup*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; VAR magicCookie: LONGINT);
- EXTERNAL PASCAL;
- PROCEDURE FTSetupFilter*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT): BOOLEAN;
- EXTERNAL PASCAL;
- PROCEDURE FTSetupItem*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; VAR theItem: INTEGER; VAR magicCookie: LONGINT);
- EXTERNAL PASCAL;
- PROCEDURE FTSetupXCleanup*(procID: INTEGER; theConfig: (*ΔΔUNIVΔΔ*) Types.Ptr; count: INTEGER; theDialog: Dialogs.DialogPtr; OKed: BOOLEAN; VAR magicCookie: LONGINT);
- EXTERNAL PASCAL;
- PROCEDURE FTSetupPostflight*(procID: INTEGER);
- EXTERNAL PASCAL;
- PROCEDURE FTGetConfig*(hFT: FTHandle): Types.Ptr;
- EXTERNAL PASCAL;
- PROCEDURE FTSetConfig*(hFT: FTHandle; thePtr: (*ΔΔUNIVΔΔ*) Types.Ptr): INTEGER;
- EXTERNAL PASCAL;
- PROCEDURE FTIntlToEnglish*(hFT: FTHandle; inputPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR outputPtr: Types.Ptr; language: INTEGER): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE FTEnglishToIntl*(hFT: FTHandle; inputPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR outputPtr: Types.Ptr; language: INTEGER): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE FTGetToolName*(procID: INTEGER; VAR name: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE FTGetProcID*(name: Types.ConstStr255Param): INTEGER;
- EXTERNAL PASCAL;
- PROCEDURE FTSetRefCon*(hFT: FTHandle; refCon: LONGINT);
- EXTERNAL PASCAL;
- PROCEDURE FTGetRefCon*(hFT: FTHandle): LONGINT;
- EXTERNAL PASCAL;
- PROCEDURE FTSetUserData*(hFT: FTHandle; userData: LONGINT);
- EXTERNAL PASCAL;
- PROCEDURE FTGetUserData*(hFT: FTHandle): LONGINT;
- EXTERNAL PASCAL;
- PROCEDURE FTGetErrorString*(hFT: FTHandle; id: INTEGER; VAR errMsg: Types.Str255);
- EXTERNAL PASCAL;
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END FileTransfers.
-